Synchronization can involve synchronization of frequency and/or phase (time). Physical layer synchronization approaches, such as those employed with SONET (synchronous optical network)/SDH (synchronous digital hierarchy) or synchronous Ethernet, are based on CDR (clock and data recovery) techniques, and only provide frequency synchronization. Packet based synchronization can be used for synchronization of frequency and/or phase. Specific examples of packet based timing protocols include NTP (Network Time Protocol), typically employed over a WAN (Wide Area Network), PTP (Packet Timing Protocol) typically employed over LANs (Local Area Networks) or WANs, and DTI (Digital Timing Interface) typically for in-building applications.
Packet based timing protocols can be used to perform synchronization in time and/or frequency between a slave device (also referred to as a client) and a master device (also referred to as a server). A specific example of a timing protocol is the recently adopted PTP-1588V2 protocol defined in 1588-2008 IEEE “Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems” hereby incorporated by reference in its entirety. With PTP-1588V2, each compliant network device modifies a “correction” field in PTP (packet timing protocol) packets to reflect a delay introduced by the network device. The slave device estimates a delay offset between the slave device and the master device using timestamps of the PTP packets and the correction field.
A simplified view of PTP-1588V2 is shown in FIG. 1. Each iteration of the protocol involves the transmission of a timing packet from the master device to the slave device, and the transmission of a timing packet from the slave device to the master device, not necessarily in that order. FIG. 1 shows multiple such iterations, and the first iteration generally indicated at 700 will be described by way of example. A master→slave timing packet 702 is transmitted from the master device to the slave device and a slave→master timing packet 704 is transmitted from the slave device to the master device. In FIG. 1, the time of transmission of timing packet 702 by the master is ta0. This time is communicated to the slave device in a subsequent packet (not shown). The time of receipt of timing packet 702 by the master is tb0, this being measured directly by the slave device. The time of transmission of timing packet 704 by the slave device is tc0, this being known to the slave device. The time of receipt of timing packet 704 by the master is td0. This is made known to the slave device in another packet (not shown).
Phase calculations are performed as follows for each iteration:RTT(round trip time)=Dms+Dsm=tb−ta+td−tc where Dms=(tb−ta) is the delay from master to slave and where Dsm=(td−tc) is the delay from slave to master. If a symmetrical path is assumed, i.e. Dms=Dsm, then:Dms=Dsm=½(tb−ta+td−tc)and it can be concluded that the time offset between the slave and the master for the particular exchange is½(Dms+Dsm)Time is mainly affected by asymmetrical paths, i.e. paths where Dms is not equal to Dsm.
Frequency calculations are performed as follows:Fractional Frequency Offset(FFO)(or drift)=(FO−FR)/FR→FFO=(Ts+Tm)/Tm where FO stands for frequency “observed”, and FR stands for frequency “reference”, and Ts and Tm are determined across iterations according to:Tm0=ta1−ta0 Ts0=tb1−tb0 Frequency accuracy is mainly affected by packet delay variation.
Note that NTP is similar to PTP except the exchanges are started by the client (slave) and responded to by the server (master).
When applications require a high level of accuracy (e.g. 0.5 micro-second phase, and 16 part per billion frequency), packet delay variations and asymmetry of several milliseconds greatly degrade the accuracy of the phase and frequency calculations.
There are three main problems with packet based synchronization which are for the most part addressed through the use of the above-referenced correction field in PTPv2 compliant devices. These include PSV (packet delay variation), the asymmetrical paths, and topology changes. Typically, filtering these variations is difficult and highly sensitive to various network conditions.